﻿#pragma once
#include <string>
#include <vector>
#include "baseoption_global.h"

// 一些公用的工具
namespace Tools
{
	// 返回时间戳
	time_t BASEOPTION_EXPORT GetTimeStamp(tm pDateTime);
	// 由时间戳返回时间结构
	tm  BASEOPTION_EXPORT GetDateTimeFrmStamp(time_t pStamp);
	// 时间戳转字符串
	std::string BASEOPTION_EXPORT  DateTimeStamp2Str(time_t stampTime);
	// 时间结构转字符串
	std::string  BASEOPTION_EXPORT DateToStr(tm pDate);
	// 字符串转时间戳
	time_t BASEOPTION_EXPORT  DateTimeStr2Stamp(const std::string& pDtStr);
	// 字符串转时间
	tm  BASEOPTION_EXPORT DateTimeStr2TM(const std::string& pDtStr);
	// 字符串转时间
	tm  BASEOPTION_EXPORT DateStr2TM(const std::string& pDtStr);
	// 只返回日期的tm
	tm  BASEOPTION_EXPORT GetDate(const tm &pDateTime);
	// 当前的时间加上n天
	tm  BASEOPTION_EXPORT AddDays(tm pDateTime, int nDays);
	// 当前的时间加上n秒
	tm  BASEOPTION_EXPORT AddSecs(tm pDateTime, int nSecs);
	// 获取当下的系统时间
	const std::string  BASEOPTION_EXPORT GetCurrentSystemTime();
	// 获取当前的系统时间戳
	time_t  BASEOPTION_EXPORT GetCurrentTimeStamp();
	// 获取当前的系统时间戳 毫秒级别
	long long  BASEOPTION_EXPORT GetCurrentMSTimeStamp();

	// 字符串操作，将字符串分割
	int  BASEOPTION_EXPORT Split(const char *pszSrc, char flag, std::vector<std::string> &vecDat);
};

